package org.example.configuration;

import org.example.User;
import org.example.controller.UserController2;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AppConfig {

    //当前类能够被容器扫描到，且会注册到容器中，就可以在方法上使用@Bean来注册对象
    //方法为实例方法，public 返回类型 方法名(){}
    //存储到容器中的键值对：键是bean的名称/id（默认是方法名，可以配置），值是bean对象（方法返回值）
    @Bean
    public User zhangsan(){
        User u = new User();
        u.setUsername("张三");
        u.setAge(18);
        return u;
    }

    @Bean("li4")//=@Bean(value="li4")或@Bean(name="li4")
    public User lisi(User zhangsan, UserController2 uc2){
        System.out.println("lisi方法："+zhangsan);
        System.out.println("lisi方法："+uc2);
        User u = new User();
        u.setUsername("李四");
        u.setAge(22);
        return u;
    }

    @Bean
    public String s1(User li4){
        return "String s1";
    }
}
